package cn.mumzone.pos.presenter.contract;

import java.util.List;

import cn.mumzone.basic.mvp.BasePresenter;
import cn.mumzone.basic.mvp.BaseView;
import cn.mumzone.pos.model.ScheduleDetailEntity;
import cn.mumzone.pos.model.ScheduleEmployeeEntity;
import cn.mumzone.pos.model.ServerEntity;

/**
 * Created by qiuzhenhuan on 2019/7/10.
 */


public interface ScheduleContract {

    interface View extends BaseView {

        void showScheduleStatus(List<String> scheduleEntities);

        void showScheduleDetail(List<ScheduleDetailEntity> scheduleDetailEntity);

        void showChangeShiftSuccess(String result);

        void showAddPersonShiftSuccess(String result);

        void showRemovePersonShiftSuccess(String result);

        void showServerList(List<ServerEntity> servers);

        void showCheckDoChangeShiftSuccess();
    }


    interface Presenter extends BasePresenter<View> {

        void getAllScheduleInfo();


        void getScheduleDetail(String date);


        void doChangeShift(ScheduleEmployeeEntity fromEmployee, ScheduleEmployeeEntity toEmployee);


        void addPresonShift(ScheduleDetailEntity entity,String scheduleDay, String employeeId);


        void removePersonFromShift(String scheduleDay, String scheduleId, String employeeId, String startTime, String endTime);


        void getServerList();


        void checkEmployeeDoChangeShift(String scheduleDay,String scheduleId, String employeeId, String startTime, String endTime);

        boolean isNowSchedule(String selectedDay,ScheduleDetailEntity mSelectedSchedule);
    }
}
